Conditions | 3 |
Total Lines | 28 |
Code Lines | 16 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | /** |
||
25 | export function formatMoney ( value, currencyCode, currencyDecimals, locale ) { |
||
26 | let lastPeriod = value.lastIndexOf( '.' ); |
||
27 | |||
28 | if ( lastPeriod > -1 ) { |
||
29 | let decimals = value.substring( lastPeriod + 1 ).replace( /[0]+$/g, '' ).padEnd( currencyDecimals, '0' ); |
||
30 | |||
31 | value = value.substring( 0, lastPeriod ).replace( /\./g, '' ) + '.' + decimals; |
||
32 | } |
||
33 | |||
34 | value = parseFloat( value ); |
||
35 | |||
36 | // Fraction digits. |
||
37 | let fractionDigits = currencyDecimals; |
||
38 | |||
39 | if ( 0 === ( value * 100 ) % 100 ) { |
||
40 | fractionDigits = 0; |
||
41 | } |
||
42 | |||
43 | return value.toLocaleString( |
||
44 | locale, |
||
45 | { |
||
46 | style: 'currency', |
||
47 | currency: currencyCode, |
||
48 | minimumFractionDigits: fractionDigits, |
||
49 | maximumFractionDigits: fractionDigits |
||
50 | } |
||
51 | ); |
||
52 | } |